package cohesion.scene
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.geom.Point;
	
	/**
	 * 场景接口
	 * @author 徐俊杰
	 * @date 2012-2-21
	 */
	public interface IScene
	{
		/**
		 * 匀速移动场景 
		 * @param position 移动后的终点左上角坐标
		 * @param w 移动后的宽度
		 * @param h 移动后的高度
		 * @param speed 移动的速度，如果值大于起点和终点的距离，效果是瞬间移动
		 * 
		 */		
		function moveTo(position:Point, w:Number, h:Number, speed:Number = Number.MAX_VALUE):void;
		
		/**
		 * 切换场景 
		 * @param id 新场景的id
		 * @param position 切换后的位置
		 * 
		 */		
		function changeScene(id:int, position:Point):void;
		
		/**
		 * 画面坐标转换为场景坐标 
		 * @param displayPoint 画面坐标
		 * @return 场景坐标
		 * 
		 */		
		function displayToGlobal(displayPoint:Point):Point;
		
		/**
		 * 场景坐标转换为画面坐标 
		 * @param globalPoint 场景坐标
		 * @return 画面坐标
		 * 
		 */		
		function globalToDisplay(globalPoint:Point):Point;
		
		/**
		 * 场景id 
		 * 
		 */		
		function get id():int;
		
		/**
		 * 当前位置，取画面左上角坐标
		 * 
		 */		
		function get position():Point;	
		function set position(value:Point):void;
		
		/**
		 * 场景宽度 
		 * 
		 */		
		function get width():Number;
		function set width(value:Number):void;
		
		/**
		 * 场景高度 
		 * 
		 */		
		function get height():Number;
		function set height(value:Number):void;
		
		/**
		 * 位图数据 
		 * 
		 */		
		function get bitmapData():BitmapData;
		
	}
}